package com.xh.one2one.lesson.service;



import com.xh.one2one.lesson.bean.dto.LessonInfoDto;
import com.xh.one2one.lesson.bean.dto.LessonSummaryDto;
import com.xh.one2one.lesson.bean.dto.StudentReportStatisDto;
import com.xh.one2one.lesson.bean.request.LessonSummaryDetailsRequest;
import com.xh.one2one.lesson.bean.request.LessonSummaryRequest;
import com.xh.one2one.lesson.model.LessonInfo;
import com.xh.one2one.lesson.model.LessonSummary;
import com.xh.core.service.IBaseService;
import com.xh.core.bean.XhPage;
import com.xh.one2one.lesson.model.LessonSummaryDetails;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 教学总结 服务类
 * </p>
 *
 * @author TW
 * @since 2021-05-06
 */
public interface ILessonSummaryService extends IBaseService<LessonSummary> {

    /**
     * 分页查询方法
     * @param page
     * @param bean
     * @return
     */
    public XhPage queryLessonSummaryPage(XhPage page, LessonSummaryRequest bean);

    /**
     * 查询方法
     * @param bean
     * @return
     */
    public List queryLessonSummary(LessonSummaryRequest bean);

    List queryStudentSummary(LessonSummaryRequest bean);

    LessonSummaryDto queryLast(LessonSummaryRequest bean);

    List querySummaryByStudentId(LessonSummaryRequest bean);

    List querySummaryToReport(LessonSummaryRequest bean);

    List queryStudentReport(LessonSummaryRequest bean);

    StudentReportStatisDto queryStudentReportStatis(LessonSummaryRequest bean) throws Exception;

    LessonSummary queryOne(LessonSummaryRequest bean);

    /**
     * 查询学生课堂报告
     * @author 赵文博
     * @date 2021/6/8 11:35
     * @param bean
     * @return com.xh.one2one.lesson.bean.dto.StudentReportStatisDto
     **/
    LessonSummary queryStudentClassReport(LessonSummaryRequest bean);

    /**
     * 一对一备课修改上节课课后练习分数
     * @author 赵文博
     * @date 2021/6/8 16:15
     * @param summaryRequest
     * @return boolean
     **/
    boolean updateLessonSummary(LessonSummaryRequest summaryRequest);

    List<LessonSummaryDto> queryClassroomPractice(LessonSummaryRequest summaryRequest);

    /**
     * 查询小组课评价
     * @author 赵文博
     * @date 2021/6/16 16:06
     * @param bean
     * @return com.xh.one2one.lesson.bean.dto.LessonInfoDto
     **/
    LessonInfoDto queryGroupClassEvaluate(LessonInfo bean);

    /**
     * 修改教学总结
     * @author 赵文博
     * @date 2021/6/29 11:23
     * @param lessonSummary
     * @return int
     **/
    boolean updateScore(@Param("bean")LessonSummary lessonSummary);

    XhPage<LessonSummaryDetails> queryStudentWrongQuestions(XhPage<LessonSummaryDto> page, LessonSummaryDetailsRequest bean);
}
